package com.dries.portal.module.coupon.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.dries.portal.module.coupon.entity.Coupon;
import com.dries.portal.module.coupon.form.AcquireTemplateForm;
import com.dries.portal.module.coupon.vo.CouponTemplateSDK;
import com.dries.portal.module.coupon.vo.CouponVo;
import com.dries.portal.module.coupon.vo.SettlementInfo;

import java.util.List;

/**
 * 用户优惠券表
 *
 * @author dries
 * @email samphsanie@gmail.com
 * @date 2020-07-27 13:05:31
 */
public interface ICouponService extends IService<Coupon> {

    /** 用户领取优惠券 */
    CouponVo acquireTemplate(AcquireTemplateForm form);
    /** 根据 userId + 状态 寻找优惠券记录 */
    List<CouponVo> findAllByUserIdAndStatus(Long userId, Integer code);
    /** 根据用户 id 和状态查询优惠券记录 */
    List<CouponVo> findCouponsByStatus(Long userId, Integer status);
    /** 根据用户ID查找当前可以领取的优惠券模板 */
    List<CouponTemplateSDK> findAvailableCouponTemplate(Long userId);
    /** 结算（核销）优惠券 */
    SettlementInfo settlementInfo(SettlementInfo info);

}

